Uitwisselprofiel IGJ Contextinformatie t.b.v. onaangekondigd inspectiebezoek

1.4.1. Wat is het aantal personeelsleden in loondienst met een zorgverlener functie en het aantal personeelsleden niet in loondienst met een zorgverlener functie per kwalificatieniveau per Dag-, Avond- en Nacht-dienst (DAN-dienst)?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: IGJ 1.4.1
2# Parameters: ?peildatum, ?vestigingsnummer
3# Ontologie: versie 3.0.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
7PREFIX onz-zorg: <http://purl.org/ozo/onz-zorg#>
8PREFIX onz-org: <http://purl.org/ozo/onz-org#>
9PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
10PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
12
13SELECT
14	?kwalificatieniveau
15	(SUM(?dag_dienst * ?pil) AS ?Aantal_PIL_met_een_zorgfunctie_in_de_dagdienst)
16	(SUM(?avond_dienst * ?pil) AS ?Aantal_PIL_met_een_zorgfunctie_in_de_avonddienst)
17	(SUM(?nacht_dienst * ?pil) AS ?Aantal_PIL_met_een_zorgfunctie_in_de_nachtdienst)
18	(SUM(?dag_dienst * ?pnil) AS ?Aantal_PNIL_met_een_zorgfunctie_in_de_dagdienst)
19	(SUM(?avond_dienst * ?pnil) AS ?Aantal_PNIL_met_een_zorgfunctie_in_de_avonddienst)
20	(SUM(?nacht_dienst * ?pnil) AS ?Aantal_PNIL_met_een_zorgfunctie_in_de_nachtdienst)
21
22{
23    {
24        SELECT DISTINCT 
25            ?medewerker
26            ?kwalificatieniveau
27            ?dag_dienst
28            ?avond_dienst
29            ?nacht_dienst
30            ?pil
31            ?pnil
32        {
33            # BIND ("2023-09-13"^^xsd:date AS ?peildatum)
34            # BIND (?vestigingsnummer AS ?vestigingsnummer)
35            BIND(?peildatum AS ?peildatum_argument)
36            VALUES ?personeels_overeenkomst 
37            { 
38                onz-pers:ArbeidsOvereenkomst
39                onz-pers:UitzendOvereenkomst
40                onz-pers:InhuurOvereenkomst
41            }
42            ?overeenkomst 
43                a ?personeels_overeenkomst ;
44                onz-pers:heeftOpdrachtnemer ?medewerker ;
45                onz-g:hasPart ?afspraak .
46            ?afspraak
47                onz-g:isAbout ?functie ;
48                onz-g:startDatum ?start_afspraak .
49            OPTIONAL {?afspraak onz-g:eindDatum ?eind_afspraak}
50            ?functie
51                a onz-pers:ZorgverlenerFunctie ;
52                onz-g:hasQuality /onz-g:hasQualityValue ?functie_niveau .
53            FILTER (?start_afspraak <= ?peildatum_argument && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?peildatum_argument))
54            #FILTER (?start_afspraak <= ?peildatum && (!BOUND(?eind_afspraak) || ?eind_afspraak >= ?peildatum))
55            ?functie_niveau
56                a onz-pers:ODBKwalificatieWaarde .
57            {
58                ?functie_niveau
59                    a onz-pers:ODBKwalificatieWaarde ;
60                    rdfs:label ?kwalificatieniveau .
61            } UNION {
62                BIND("Totaal" AS ?kwalificatieniveau ) 
63            }
64            
65            # Werkperiode van alle zorgverlener functies
66            ?inzet
67                a onz-pers:GewerktePeriode ;
68                onz-g:definedBy ?overeenkomst ;
69                onz-g:hasPerdurantLocation ?werk_locatie ;
70                onz-g:hasBeginTimeStamp ?start_werk ;
71            BIND(HOURS(?start_werk) AS ?start_uur)
72            ?werk_locatie onz-g:partOf* ?vestiging . # vind Vestiging die hoort bij werk_locatie
73            ?vestiging 
74                a onz-org:Vestiging ;
75                onz-g:identifiedBy ?vestigingsnummer_object .
76            ?vestigingsnummer_object
77                a onz-org:Vestigingsnummer ;
78                onz-g:hasDataValue ?vestigingsnummer . # filter vestiging op gegeven vestigingsnummer
79            
80            BIND(STRDT(SUBSTR(STR(?start_werk), 1, 10), xsd:date) AS ?start_werk_datum)
81            FILTER(?start_werk_datum = ?peildatum_argument )
82
83            BIND(IF(?start_uur >= 7 && ?start_uur < 15, 1, 0) AS ?dag_dienst)
84            BIND(IF(?start_uur >= 15 && ?start_uur < 23, 1, 0) AS ?avond_dienst)
85            BIND(IF(?start_uur >= 23 || ?start_uur < 7, 1, 0) AS ?nacht_dienst)
86            BIND(IF (?personeels_overeenkomst = onz-pers:ArbeidsOvereenkomst, 1, 0) AS ?pil)
87            BIND(IF (?pil = 0, 1, 0) AS ?pnil)
88        }
89    }
90}
91GROUP BY ?kwalificatieniveau
92ORDER BY ?kwalificatieniveau
93

Heb je feedback?

Loopt u tegen een issue aan bij het KIK-V product? Neem dan contact met ons op!